package com.osdp.auth.server;

import com.osdp.common.base.JWTInfo;

public interface ITokenService {
    /**
     * 创建token
     * @param info payload 内容
     * @return
     */
    String create(JWTInfo info);

    /**
     * 校验token，检查在缓存中是否存传入的token
     * @param token
     * @return
     */
    boolean verify(String token);

    /**
     * 刷新token
     * @param token
     * @return
     */
    boolean refresh(String token);

    /**
     * 失效token
     * @param token
     * @return
     */
    boolean invalid(String token);

    /**
     * 验证并刷新token
     * @param token
     * @return
     */
    boolean verifyAndRefresh(String token);

    /**
     * JWTToken刷新生命周期 （解决用户一直在线操作，提供Token失效问题）
     * @param token
     * @param info
     * @param passWord
     * @return
     */
    boolean jwtTokenRefresh(String token, JWTInfo info, String passWord);
}
